package edu.szcu.vitaguard.service;

import edu.szcu.vitaguard.entity.Doctor;

import java.util.List;

/**
 * 医生服务接口
 */
public interface DoctorService {

    /**
     * 添加医生
     * @param doctor 医生对象
     * @return 添加的医生对象（包含生成的ID）
     */
    Doctor addDoctor(Doctor doctor);

    /**
     * 根据ID获取医生
     * @param doctorId 医生ID
     * @return 医生对象
     */
    Doctor getDoctorById(Integer doctorId);

    /**
     * 获取所有医生
     * @return 医生列表
     */
    List<Doctor> getAllDoctors();

    /**
     * 根据科室ID获取医生
     * @param deptId 科室ID
     * @return 医生列表
     */
    List<Doctor> getDoctorsByDeptId(Integer deptId);

    /**
     * 根据医生姓名查询医生
     * @param doctorName 医生姓名
     * @return 医生列表
     */
    List<Doctor> getDoctorsByName(String doctorName);

    /**
     * 根据状态查询医生
     * @param status 状态
     * @return 医生列表
     */
    List<Doctor> getDoctorsByStatus(String status);

    /**
     * 更新医生信息
     * @param doctor 医生对象
     * @return 更新后的医生对象
     */
    Doctor updateDoctor(Doctor doctor);

    /**
     * 删除医生
     * @param doctorId 医生ID
     * @return 是否删除成功
     */
    boolean deleteDoctor(Integer doctorId);
}
